package com.harmony.pilot.completion.service;

import com.harmony.pilot.common.dto.Diagnostic;

import java.util.List;

/**
 * 诊断服务接口
 * 提供实时错误检查和类型检查
 */
public interface DiagnosticService {
    
    /**
     * 检查文件错误
     * 
     * @param filePath 文件路径
     * @param code 代码内容
     * @param projectRoot 项目根目录
     * @return 诊断结果列表
     */
    List<Diagnostic> checkFile(String filePath, String code, String projectRoot);
    
    /**
     * 检查语法错误
     * 
     * @param filePath 文件路径
     * @param code 代码内容
     * @param projectRoot 项目根目录
     * @return 诊断结果列表
     */
    List<Diagnostic> checkSyntax(String filePath, String code, String projectRoot);
    
    /**
     * 检查类型错误
     * 
     * @param filePath 文件路径
     * @param code 代码内容
     * @param projectRoot 项目根目录
     * @return 诊断结果列表
     */
    List<Diagnostic> checkTypes(String filePath, String code, String projectRoot);
    
    /**
     * 检查编译错误
     * 
     * @param filePath 文件路径
     * @param code 代码内容
     * @param projectRoot 项目根目录
     * @return 诊断结果列表
     */
    List<Diagnostic> checkCompilation(String filePath, String code, String projectRoot);
}

